package com.yeepay.bc.app.bp;

import java.math.BigDecimal;
import java.util.Date;
import com.yeepay.bc.app.bp.BaseRequestDTO;

/**
 * @description:下单请求基础请求参数
 */
public class OrderBaseVO extends BaseRequestDTO {

    /**
     * serialVersionUID:TODO（用一句话描述这个变量表示什么）
     */

    private static final long serialVersionUID = 7966450461495399668L;

    /**
     * 产品
     */
    private String product;
    /**
     * 产品服务
     */
    private String productService;
    /**
     * 收款方终端号
     */
    private String terminalNo;

    /**
     * 商户下单时间
     */
    private Date orderDate;

    /**
     * 订单金额
     */
    private BigDecimal amount;

    /***
     * 入账方式
     * COMMON 普通入账
     * SPLIT  分账入账
     *
     * 默认为 COMMON
     */
    private String accountWay = "COMMON";

    /***
     * 入账类型
     * REAL_TIME    实时入账
     * ASSURE       分账入账
     * DELAY        延迟入账
     *
     * 默认为 REAL_TIME
     */
    private String accountType = "REAL_TIME";

    /***
     * 分账信息json字符串
     */
    private String splitInfo;

    /**
     * 币种
     */
    private String currency = "CNY";
    /**
     * 商户业务订单号
     */
    private String customerBizRequestNo;
    /**
     * 商品名称
     */
    private String goodsName;
    /**
     * 商品类别
     */
    private String goodsCat;
    /**
     * 商品描述
     */
    private String goodsDesc;

    /**
     * 商品扩展信息
     */
    private String goodsExtInfo;

    /**
     * 公共预留参数
     */
    private String extendMap;

    /**
     * 收款方回调地址
     */
    private String receiverCallbackUrl;

    /***
     * 付款方回调地址
     */
    private String payerCallbackUrl;

    /**
     * 前端回调地址
     */
    private String frontUrl;

    /***
     * 支付工具
     * 收银台，api，sdk等
     */
    private String payTool;

    /**
     * 订单有效期 单位分钟，最小1分钟，最大24小时
     * 默认值为1440
     */
    private Integer timeoutExpress = 1440;

    /**
     * 操作员账号（内部）
     */
    private String operator;

    private Date createTime;
    /**
     * 付款方手续费
     */
    private BigDecimal payerFee;
    /**
     * 商户名称
     */
    private String customerName;
    private String status;

    public void setStatus(String status) {
        this.status = status;
    }

    public String getStatus() {
        return status;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public void setPayerFee(BigDecimal payerFee) {
        this.payerFee = payerFee;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public BigDecimal getPayerFee() {
        return payerFee;
    }

    public String getCustomerBizRequestNo() {
        return customerBizRequestNo;
    }

    public void setCustomerBizRequestNo(String customerBizRequestNo) {
        this.customerBizRequestNo = customerBizRequestNo;
    }

    public String getGoodsExtInfo() {
        return goodsExtInfo;
    }

    public void setGoodsExtInfo(String goodsExtInfo) {
        this.goodsExtInfo = goodsExtInfo;
    }

    public String getProduct() {
        return product;
    }


    public void setProduct(String product) {
        this.product = product;
    }


    public String getProductService() {
        return productService;
    }


    public void setProductService(String productService) {
        this.productService = productService;
    }


    public String getTerminalNo() {
        return terminalNo;
    }


    public void setTerminalNo(String terminalNo) {
        this.terminalNo = terminalNo;
    }


    public String getGoodsName() {
        return goodsName;
    }

    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }


    public String getExtendMap() {
        return extendMap;
    }

    public void setExtendMap(String extendMap) {
        this.extendMap = extendMap;
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    public String getGoodsCat() {
        return goodsCat;
    }

    public void setGoodsCat(String goodsCat) {
        this.goodsCat = goodsCat;
    }

    public String getGoodsDesc() {
        return this.goodsDesc;
    }

    public void setGoodsDesc(String goodsDesc) {
        this.goodsDesc = goodsDesc;
    }

    public String getReceiverCallbackUrl() {
        return receiverCallbackUrl;
    }

    public void setReceiverCallbackUrl(String receiverCallbackUrl) {
        this.receiverCallbackUrl = receiverCallbackUrl;
    }

    public String getPayerCallbackUrl() {
        return payerCallbackUrl;
    }

    public void setPayerCallbackUrl(String payerCallbackUrl) {
        this.payerCallbackUrl = payerCallbackUrl;
    }


    public String getFrontUrl() {
        return frontUrl;
    }


    public void setFrontUrl(String frontUrl) {
        this.frontUrl = frontUrl;
    }


    public String getPayTool() {
        return payTool;
    }

    public void setPayTool(String payTool) {
        this.payTool = payTool;
    }

    public Integer getTimeoutExpress() {
        return timeoutExpress;
    }

    public void setTimeoutExpress(Integer timeoutExpress) {
        this.timeoutExpress = timeoutExpress;
    }

    public Date getOrderDate() {
        return orderDate;
    }

    public void setOrderDate(Date orderDate) {
        this.orderDate = orderDate;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }


    public String getOperator() {
        return operator;
    }

    public void setOperator(String operator) {
        this.operator = operator;
    }


    public String getAccountWay() {
        return this.accountWay;
    }

    public void setAccountWay(String accountWay) {
        this.accountWay = accountWay;
    }

    public String getSplitInfo() {
        return this.splitInfo;
    }

    public void setSplitInfo(String splitInfo) {
        this.splitInfo = splitInfo;
    }

    public String getAccountType() {
        return this.accountType;
    }

    public void setAccountType(String accountType) {
        this.accountType = accountType;
    }



}
